(function ($, __) {
    "use strict";
    __.register_autoload('news.post', function () {
        var converter = Markdown.getSanitizingConverter(),
            editor = new Markdown.Editor(converter);
        editor.run();

        var $form = $('#news-post-form'),
            $title = $('#title', $form).validate_on_keyup(__.Regex.word(4, 128), 'Tiêu đề từ 4 - 128 kí tự'),
            $thumb = $('#thumbnail', $form),
            $thumb_link = $('#thumbnail-link', $form).validate_on_keyup(/\.(jpg|png|gif)$/i, 'Chỉ hỗ trợ các kiểu file PNG, JPG, GIF'),
            $brief = $('#brief', $form).validate_on_keyup(__.Regex.word(4, 1024), 'Vui lòng không để trống mô tả'),
            $body = $('#body', $form).validate_on_keyup(/[\s\S]{20,2048}/i, 'Yêu cầu bài viết tối thiểu 20 kí tự'),
            $selector = $('#thumb-selector', $form);

        $selector.click(function (e) {
            e.preventDefault();
            $thumb.click();
        });
        $thumb.change(function () {
            var path = $thumb.val(),
                index = path.lastIndexOf("\\") || path.lastIndexOf("/");
            $thumb_link.val(path.substr(index + 1));
            $thumb_link.validate();
        });
        $thumb_link.change(function () {

        });

        $form.submit(function () {
            if (!$title.validate()) {
                __.error("Vui lòng nhập tiêu đề hợp lệ!", $title);
            } else if (!$thumb_link.validate()) {
                __.error("Vui lòng chọn ảnh đại diện cho bài viết hợp lệ (hỗ trọ JPG, PNG, GIF)", $thumb_link);
            } else if (!$brief.validate()) {
                __.error('Vui lòng nhập mô tả ngắn gọn cho bài viết.', $brief);
            } else if (!$body.validate()) {
                __.error('Yêu cầu nhập nội dung bài viết (tối thiểu 20 kí tự).', $body);
            } else {
                return true;
            }
            return false;
        });

    });
}(window.jQuery, window.jqExt));